home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-13 / beav132.zip / BEAV132.TXT < prev   
Text File  |  1991-11-26  |  73KB  |  2,105 lines

  1.                                 
  2.                                 
  3.                                 
  4.                                 
  5.                                 
  6.                                 
  7.                                 
  8.                                 
  9.                                THE
  10.                                 
  11.                                 
  12.                               BEAV
  13.                                 
  14.                                 
  15.                                 
  16.                                 
  17.                     Binary Editor And Viewer
  18.                                 
  19.                                 
  20.                                 
  21.                                 
  22.                                 
  23.                                 
  24.                       Manual Copyright 1991
  25.                           Version 1.32
  26.                         November 8, 1991
  27.                                 
  28.                                 
  29.                                 
  30.                                By
  31.                           Peter Reilley
  32.                         19 Heritage Cir.
  33.                        Hudson, N.H. 03051
  34.                           pvr@wang.com
  35.                                 
  36.                                 
  37.                                 
  38.                                 
  39.                                 
  40.                                 
  41.                                 
  42.             BEAV source and executable can be freely
  43.             distributed for non-commercial purposes.
  44.                                 
  45.                                 
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.                                 1
  59.  
  60.                       BEAV User Manual
  61.  
  62.  
  63.                      Table of Contents
  64.  
  65.  
  66. 1.0  Introduction                                          3
  67.     1.1   Quick Start                                      3
  68.  
  69. 2.   Overview                                              5
  70.     2.1   Terms and Definitions                            5
  71.     2.2   The Screen Format                                5
  72.     2.3   Display Modes                                    6
  73.     2.4   Commands                                         7
  74.     2.5   Buffers                                          8
  75.     2.6   Files                                            8
  76.     2.7   Key Binding                                      9
  77.     2.8   Configuration                                    9
  78.  
  79. 3.   Command Description                                  11
  80.     3.1   Help                                            11
  81.     3.2   Cursor Movement                                 11
  82.     3.3   Buffer Management                               13
  83.     3.4   File Management                                 14
  84.     3.5   Window Management                               16
  85.     3.6   Inserting and deleting                          18
  86.     3.7   Search and Replace Commands                     19
  87.     3.8   Exiting BEAV                                    21
  88.     3.9   Printing                                        21
  89.     3.10  Keyboard Macros                                 22
  90.     3.11  Key Binding                                     22
  91.     3.12  Special Functions                               23
  92.  
  93. 4.   Alphabetical list of commands by name                26
  94.  
  95. 5.   Alphabetical list of commands by key binding         29
  96.  
  97. 6.   Release notes                                        32
  98.  
  99. 7.   Source Availability                                  34
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.                                 2
  121.  
  122.                       BEAV User Manual
  123.  
  124.  
  125.  
  126.  1.0     Introduction
  127.  
  128.       BEAV is an editor that brings the features of a powerful
  129. full screen editor to the editing of binary files.   It is the
  130. only editor that I know of that does that.
  131.  
  132.       When you need to edit a non-text file you generally have
  133. two choices; a text editor or a file zap type editor.   Each
  134. choice has significant disadvantages.
  135.  
  136.       Text editors expect the file to be formatted in a certain
  137. way.   At a minimum they expect that all lines be terminated by a
  138. carriage return or line feed and be limited in length.   There is
  139. no line length limit with BEAV.   Most text editors get confused
  140. by bytes that are outside of the normal range (20 to 7E HEX).
  141. In BEAV no special characters such as carriage return or line
  142. feed affect the display aside from producing their numeric value.
  143. BEAV can edit any file no matter the format.
  144.  
  145.       The other choice is to use a file zap type editor which can
  146. edit a binary file without difficulty.  These editors are often
  147. very limited in their features and capabilities.   Most file zap
  148. programs can edit a file only in HEX or ASCII.   They generally
  149. operate on a sector basis and because of this they cannot insert
  150. or delete data in the middle of the file.
  151.  
  152.       All these limits are eliminated in BEAV.   You can edit a
  153. file in HEX, ASCII, EBCDIC, OCTAL, DECIMAL, and BINARY.   You can
  154. search or search and replace in any of these modes.   Data can be
  155. displayed in BYTE, WORD, or DOUBLE WORD formats.   While
  156. displaying WORDS or DOUBLE WORDS the data can be displayed in
  157. INTEL's or MOTOROLA's byte swap format.   Data of any length can
  158. be inserted at any point in the file.   The source of this data
  159. can be the keyboard, another buffer, of a file.   Any data that
  160. is being displayed can be sent to a printer in the displayed
  161. format.   Files that are bigger than memory can be handled.
  162.  
  163.       Some users may recognize the similarity to the EMACS text
  164. editor that was written by Richard Stallman at MIT.   This is not
  165. a coincidence.   I attempted to keep as much of the user
  166. interface and functionality as possible given the very different
  167. tasks of EMACS and BEAV.
  168.  
  169.    1.1   Quick Start
  170.  
  171.       This is a brief description of the minimal set of commands
  172. that are necessary to start using BEAV effectively.
  173.  
  174.       The file-visit command, Ctl-X Ctl-V, can be used to read a
  175. file in for editing.   The file can also be read in from the
  176. command line; beav <edit_file>.
  177.  
  178.       These commands can be used to navigate around the window.
  179.  
  180.  
  181.  
  182.                                 3
  183.  
  184.                       BEAV User Manual
  185.  
  186.  
  187.            move-back-char      Ctl-B     moves left
  188.            move-back-line      Ctl-P     moves up
  189.            move-forw-char      Ctl-F     moves right
  190.            move-forw-line      Ctl-N     moves down
  191.  
  192.       The move-to-byte command, Ctl-X G, will prompt you for a
  193. byte position to move to.
  194.  
  195.       These commands will insert a zero byte at the cursor
  196. position or delete the byte at that position.
  197.            insert-unit         Ctl-X I
  198.            delete-forw-unit    Esc D
  199.  
  200.       The file-save command, Ctl-X Ctl-S, will save the data to
  201. the file if a change has been made.
  202.  
  203.       The help command, Esc ?, will display a list of all
  204. commands and their current key bindings.
  205.  
  206.       The abort-cmd command, Ctl-G, will abort any command that
  207. is in operation.
  208.  
  209.       The quit-no-save command, Ctl-X Ctl-C, will exit BEAV.   If
  210. there is any data that has not been saved you will be warned.
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.                                 4
  245.  
  246.                       BEAV User Manual
  247.  
  248.  
  249.  2. Overview
  250.  
  251.  
  252.    2.1  Terms and Definitions
  253.  
  254.       Throughout this manual certain terms will be used to
  255. describe the operation and structure of BEAV.
  256.  
  257.       The data that BEAV is editing is held in a buffer that is
  258. structured as a byte stream.   There are many commands that
  259. affect the way that this byte stream is displayed on to the
  260. screen.   Whatever display mode is chosen the data in the buffer
  261. is not effected, only the presentation.
  262.  
  263.       One such choice is to display the data as bytes, words, or
  264. double words.   That is; 8 bit values, 16 bit values, or 32 bit
  265. values.   Whatever choice is made the value of the selected size
  266. will be displayed.   These values are referred to as units in
  267. this manual.   Thus the 'delete-forw-unit' command deletes the
  268. unit under the cursor.   If 32 bit units are being displayed then
  269. 4 bytes will be deleted.
  270.  
  271.       Many commands in BEAV start by pressing the 'ESCAPE' key.
  272. When this manual refers to a command that requires that the
  273. 'ESCAPE' key be pressed it will be abbreviated with 'Esc'.
  274. Another frequently used key stroke to start commands is 'CONTROL
  275. X'.   This in done by pressing the 'CONTROL' key then pressing
  276. the 'X' key at the same time.   In this manual this will be
  277. abbreviated by 'Ctl-X'.   Many commands contain other control
  278. characters and these will be abbreviates similarly.   Thus the
  279. 'insert-unit' command will be listed as 'Ctl-X I'.   This will be
  280. entered be pressing the CONTROL key and while holding it hitting
  281. the 'X' key, release the CONTROL key then hit the 'I' key.
  282.  
  283.  
  284.    2.2  The Screen Format
  285.    BEAV presents information to the user in a number of areas.
  286. The first is the window.   There will be at least one window
  287. displayed on the screen at all times.   The window consists of
  288. two areas.   The first is the display area.   This is where the
  289. data that is in the buffer is displayed.   Most of the time the
  290. cursor will be in this area, as this is where most editing is
  291. done.  Each line in the display area will start with a number
  292. that indicates the offset into the buffer for this line of data.
  293. At the bottom of the display area for each window is the status
  294. line.
  295.  
  296.      The status line presents the user with a number of specific
  297. pieces of information.   The first is the program name which is
  298. "BEAV".   Next there are some flags indicating the status of this
  299. particular buffer.
  300.  
  301.      The first flag indicates if the buffer has been damaged by a
  302. memory allocation failure.   If there is a '?' then the buffer is
  303.  
  304.  
  305.  
  306.                                 5
  307.  
  308.                       BEAV User Manual
  309.  
  310.  
  311. bad, otherwise there will be a space.   Bad buffers are set to
  312. read only.
  313.  
  314.      The next flag indicates if the buffer has been changed and
  315. will need to be written out if the changes are to be saved.
  316. This flag is a '*' if the buffer has been changed, otherwise
  317. there will be a space.
  318.  
  319.      The next flag indicates insert/overstrike mode; 'I' for
  320. insert, 'O' for overstrike.  This is only meaningful in ascii or
  321. ebcdic mode.
  322.  
  323.      Then the buffer name followed by the file name.   A window
  324. can be in read only, read/write, or read/write with size lock.
  325. These  will be displayed as [RO], [RW], or [WL] respectively.
  326. If auto-update is enabled then [AU] will be displayed.
  327.  
  328.      Next the cursor position in bytes and the character position
  329. within the unit.   The next piece of information gives the format
  330. that the data is being displayed in; HEX, OCTAL, DECIMAL, BINARY,
  331. ASCII, EBCDIC.   If a data mode is selected then the size in
  332. bytes (1, 2, 4) is displayed.  If the data is being  displayed
  333. in Intel mode then the swapped flag is displayed, 'S'.   Lastly
  334. the byte shift is displayed; 0 only for 8 bit data, 0 or 1 for 16
  335. bit data, or 0, 1, 2 or 3 for 32 bit data.
  336.  
  337.      There can be multiple windows on the screen at the same time
  338. but each window will have a status line at the bottom.
  339.  
  340.      The very bottom line on the screen is the prompt line.
  341. This is where you enter data that BEAV requests.   If you want to
  342. edit a new file you would type 'Ctl-X Ctl-V', BEAV would respond
  343. with "Visit file:" on the prompt line.   The cursor would be
  344. positioned after the prompt.   You would then enter the name of
  345. the file that you wished to edit.
  346.  
  347.      If you entered the command by mistake, you can abort the
  348. operation by typing a 'Ctl-G'.   'Control G' is a universal abort
  349. command and can be used anywhere.   If you want to perform a
  350. search you will enter the search string on this line.   When you
  351. have entered the information that BEAV has requested hit 'Return'
  352. and the cursor will return to it's original position in the
  353. window display area.   The prompt line is also where error
  354. messages are displayed.
  355.  
  356.  
  357.    2.3  Display Modes
  358.  
  359.       The data in the buffer can be displayed in a number of
  360. formats.   First there is the display mode.   This can be either;
  361. HEXADECIMAL, DECIMAL, OCTAL, BINARY, ASCII, or EBCDIC.
  362.  
  363.       If ASCII or EBCDIC mode is chosen then each byte in the
  364. buffer will be converted to it's ASCII or EBCDIC character and
  365.  
  366.  
  367.  
  368.                                 6
  369.  
  370.                       BEAV User Manual
  371.  
  372.  
  373. displayed.   Bytes that are outside of the standard character set
  374. will be displayed as a dot.   Each line will be 64 characters
  375. long.   The byte value for "carriage return" and "line feed" will
  376. be displayed as a dot as will any other non-printable characters.
  377.  
  378.       Within HEXADECIMAL, DECIMAL, OCTAL, or BINARY format the
  379. data can be displayed in 8, 16 or 32 bit values.   If 16 or 32 it
  380. values are displayed the user can choose to view these values in
  381. either the Intel format or the Motorola format.   If Intel format
  382. is chosen then the first byte in each unit is the least
  383. significant byte when the value is calculated.   Thus in hex 32
  384. bit mode a byte string of "32 7A 9F 10" would be displayed as
  385. "109F7A32".   If Motorola format is chosen this value would be
  386. displayed as "327A9F10".
  387.  
  388.       There is another display format choice that affects the 16
  389. or 32 bit formats.   This is called shift.   The shift can be 0
  390. or 1 for 16 bit modes, or 0, 1, 2, 3 for 32 bit modes.   Shift
  391. moves the zero point reference for the buffer up by the selected
  392. value.   The default is zero shift.   If a buffer is displaying
  393. the following 32 bit hex data;
  394.  
  395.            "12345678 2F4792AF 673DFEA1 88551199"
  396.  
  397. with the shift at 0.   Changing shift to 1 will produce;
  398.  
  399.            "3456782F 4792AF67 3DFEA188 55119955"
  400.  
  401. The data has been slid down toward the beginning of the buffer by
  402. one byte.   This has not changed the data in the buffer at all,
  403. it has only affected the way that the data is presented on the
  404. screen.   This is useful when looking at WORD or DOUBLE WORD data
  405. that is not aligned on two or four byte boundaries.
  406.  
  407.       When BEAV is first started or a new window is opened the
  408. default format is HEXADECIMAL BYTES.
  409.  
  410.  
  411.    2.4  Commands
  412.  
  413.       Commands are the means that the user controls the operation
  414. of BEAV.   A command can be given by using one of two methods.
  415. The first is to use the key binding.
  416.  
  417.      A command can have one or more associated key bindings.   It
  418. can also have no key binding.   There are a set of default key
  419. bindings that BEAV comes configured with.   The current set of
  420. key bindings can be seen by using the 'help' command.   The
  421. 'help' command is 'Esc ?' or Function Key 1 'F1' on the IBM PC.
  422. The help buffer can be scrolled by using the up and down arrow
  423. keys.   A printed copy may be obtained by going to the bottom of
  424. the help buffer using the 'move-to-end' command ('Esc >' or the
  425. 'End' key).   Then issue the 'print-mark-to-cursor' command ('Esc
  426. P' or 'Ctl-Print') and enter 'PRN' or a file name when prompted
  427.  
  428.  
  429.  
  430.                                 7
  431.  
  432.                       BEAV User Manual
  433.  
  434.  
  435. with "Print to:".   This will output the entire help buffer to a
  436. printer connected to the parallel interface or the specified
  437. file.
  438.  
  439.      The second method of issuing a command is to use the
  440. 'extended-command' command (Esc X).   You are prompted for a
  441. command name that you want to execute.   This method is useful
  442. for executing commands that have no key binding.   Commands that
  443. can take a long time to complete can be stopped by pressing Ctl-
  444. G.
  445.  
  446.  
  447.    2.5  Buffers
  448.  
  449.       Buffers are the in memory storage for all data editing and
  450. viewing.   Each buffer has a name that appears in the mode line.
  451. Buffers generally have a file name that is associated with them.
  452. The file name also appears in the mode line.   The buffer name
  453. and the file name are independent but the buffer name defaults to
  454. the file name.
  455.  
  456.       The buffer name is used to refer to a specific buffer.
  457. The 'change-buffer' ('Ctl-X B') command will prompt you for a
  458. buffer name.   After you enter a buffer name that buffer will be
  459. displayed in the current window.   If there is no such buffer,
  460. one will be created and displayed (it will be empty).
  461.  
  462.       When BEAV is run with a file name as a command line
  463. parameter, the file is read into a new buffer.  The buffer name
  464. will be made the same as the file name.   The file name is only
  465. used when the buffer is saved.   If the file name is changed
  466. using the 'buffer-set-file-name' ('Ctl-X Ctl-F') command then
  467. when the buffer is saved it will be saved to the new file.
  468.  
  469.       Buffers are dynamically allocated.   They grow or shrink as
  470. the size of the data they contain changes.   The buffer size can
  471. be frozen using the 'buffer-size-lock' ('Ctl-X Ctl-L') command.
  472. This prevents inserting or deleting data from the buffer but data
  473. can be modified.
  474.  
  475.       Buffers continue to exist even if they are not being
  476. displayed.   Buffers are saved in a linked list that can be
  477. stepped through using the 'change-to-next-buffer' ('Esc +') or
  478. 'change-to-prev-buffer' ('Esc -') commands.   If the 'change-to-
  479. next-buffer' command is given then the next buffer in the list is
  480. displayed in the current window.
  481.  
  482.  
  483.    2.6  Files
  484.  
  485.       Files are the means of storing data on disk.   Files or
  486. segments of files can be loaded into BEAV for editing or viewing.
  487. The file on the disk has not been changed until BEAV does a save
  488.  
  489.  
  490.  
  491.  
  492.                                 8
  493.  
  494.                       BEAV User Manual
  495.  
  496.  
  497. to that file.   When a save to a file is performed the original
  498. file contents in saved in a ".bak" file.
  499.  
  500.  
  501.    2.7  Key Binding
  502.  
  503.       All commands in BEAV have a command name and a default key
  504. binding.   The bindings may be changed to suit personal
  505. preference by using the 'bind-to-key' ('Esc K') command.   The
  506. current binding of a key sequence can be displayed by using the
  507. 'binding-for-key' ('Ctl-X ?') command.
  508.  
  509.       Key bindings can be loaded automatically from a file named
  510. ".beavrc" under UNIX or "beav.rc" under MSDOS.   I will refer to
  511. this file as the beavrc file in this document.   This file must
  512. be in a directory specified by the PATH environment variable.
  513. When BEAV is started this file is read and the bindings are
  514. loaded.   This file is a simple text file and can be edited to
  515. make changes.
  516.  
  517.       The beavrc file contains three columns.   The first is the
  518. function name to be bound.   The second is the key sequence that
  519. is bound to that function.   The third is a number that defines
  520. the key code.   When the beavrc file is read, in only the first
  521. and third columns are used.
  522.  
  523.       The simplest way to create a valid beavrc file is to first
  524. bind the key codes to the desired functions using the 'bind-to-
  525. key' command (Esc K).   Next display the current bindings in a
  526. window using the 'help' command (Esc ?).   Now save that buffer
  527. to a file with the 'file-write' command (Ctl-X Ctl-W).   You will
  528. be prompted for a file name.   The file written is a valid beavrc
  529. file.   You may want to edit the beavrc file to remove the
  530. commented lines, ie, those beginning with #, to make it load
  531. faster.
  532.  
  533.       On UNIX systems there can be multiple .beavrc files, one
  534. for each terminal type.   This is accomplished by appending the
  535. TERM variable to .beavrc.   Thus if you use both a vt100 and a
  536. wyse60 terminal, you could have a .beavrc.wy60 and a
  537. .beavrc.vt100 bindings file.   When your TERM variable is
  538. TERM=wy60 then the .beavrc.wy60 bindings file will be used.   If
  539. there is no .beavrc.wy60 file then the .beavrc file will be used.
  540.  
  541.  
  542.    2.8  Configuration
  543.  
  544.       When the MSDOS version of BEAV run it detects whether the
  545. system is an IBM PC or a clone.   If a PC is detected then a set
  546. of key bindings that use the 10 function keys and the relevant
  547. keypad keys are loaded.   If the system is not recognized then
  548. only the standard bindings are loaded.
  549.  
  550.  
  551.  
  552.  
  553.  
  554.                                 9
  555.  
  556.                       BEAV User Manual
  557.  
  558.  
  559.       If a PC is detected the screen is managed by making BIOS
  560. level calls that enhance performance.   Otherwise, the screen is
  561. controlled by making ANSI compatible calls to the operating
  562. system.   This is much slower but is not sensitive to hardware
  563. configuration.   This requires that non-standard MSDOS systems
  564. support ANSI display controls.   The following ANSI escape
  565. sequences are used;
  566.  
  567.       Position cursor          ESC [ <row> ; <column> H
  568.  
  569.       Erase to end of line     ESC [ 0 K
  570.  
  571.       Erase to end of page     ESC [ 0 J
  572.  
  573.       Normal video             ESC [ 0 m
  574.  
  575.       Reverse video            ESC [ 7 m
  576.  
  577.       On unix systems the termcap library is used.   This
  578. requires that the TERM environment variable be set correctly.
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.                                10
  617.  
  618.                       BEAV User Manual
  619.  
  620.  
  621.  3. Command Description
  622.  
  623.       This section describes all BEAV commands as to their
  624. function and any side effects that they may have.   The first
  625. line of each description of a command will begin with the default
  626. key binding then the command name and follows with the key
  627. binding for a PC.
  628.  
  629.  
  630.    3.1             Help
  631.  
  632.       This command returns information that will aid in the use
  633. of BEAV.
  634.  
  635.       Esc ?          help                     F1
  636.  
  637.       A new window is opened by splitting the current window then
  638. all current key bindings are displayed.   This buffer is larger
  639. than can be shown at one time and must be scrolled up and down to
  640. see all entries.    All commands that do not alter data can be
  641. used to move around and search the help buffer.   To leave the
  642. help buffer use the 'window-delete' command ('Ctl-X 0').
  643.  
  644.       Lines that begin with the comment character (#) are
  645. commands that have the default bindings.   Lines without the
  646. comment character have been bound by the user or by processing a
  647. beavrc file.   The comment character helps in creating a beavrc
  648. file by identifying only those bindings that have changed.
  649.  
  650.  
  651.    3.2             Cursor Movement
  652.  
  653.       There are a number of commands that move the cursor around
  654. the current window.   If the cursor bumps the top or the bottom
  655. of the window the position of the window will be adjusted so as
  656. to keep the cursor within the bounds.   When the window is moved
  657. in response to cursor movements it is moved by about one third of
  658. the window size.   This improves performance by reducing the
  659. number of window moves.
  660.  
  661.       Ctl-P     move-back-line      North (up arrow)
  662.       Ctl-N     move-forw-line      South (down arrow)
  663.  
  664.       These commands move the cursor up one line or down one
  665. line.   If the cursor is on the top line in the buffer and a
  666. 'move-back-line' command is given the cursor will jump to the
  667. beginning of the first unit in the buffer.   If the cursor is on
  668. the last line of the buffer and a 'move-forw-line' is given the
  669. cursor will move to the last unit in the buffer.
  670.  
  671.       Ctl-F     move-forw-char     East (right arrow)
  672.       Ctl-B     Move-back-char     West (left arrow)
  673.  
  674.  
  675.  
  676.  
  677.  
  678.                                11
  679.  
  680.                       BEAV User Manual
  681.  
  682.  
  683.       These commands move the cursor forward or backward in the
  684. current line.   If the cursor is at the first character in the
  685. first unit of the line and the 'move-back-char' command is given
  686. then the cursor will wrap to the last character of the previous
  687. line.   If the cursor is at the last character of the last unit
  688. in the current line then it will wrap to the first character of
  689. the next line.
  690.  
  691.       Esc F          move-forw-unit     Ctl-East
  692.       Esc B          move-back-unit     Ctl-West
  693.  
  694.       These commands are similar to the above set but they move
  695. the cursor by units rather than characters.   The command 'move-
  696. forw-unit' will position the cursor to the first character of the
  697. next unit.   The command 'move-back-unit' will move the cursor to
  698. the first character of the previous unit.
  699.  
  700.       Ctl-V          move-forw-page     PageUp
  701.       Esc V          move-back-page     PageDown
  702.  
  703.       These commands move the move the data in the window by the
  704. number of lines in the window less one.   The cursor will stay in
  705. the same position relative to the window as the data is moved.
  706.  
  707.       Esc <          move-to-beginning  Home
  708.       Esc >          move-to-end        End
  709.  
  710.       Move the cursor to the beginning or the end of the buffer.
  711.  
  712.       Ctl-X G        move-to-byte       F9
  713.  
  714.       Prompt for a byte offset, then go to that position in the
  715. current buffer.
  716.  
  717.       Ctl-X Ctl-N    move-window-down   Ctl-Z
  718.       Ctl-X Ctl-P    move-window-up     Esc Z
  719.  
  720.       Move the buffer in the window up or down by one line.
  721. This does not effect the cursor until it hits the top or bottom
  722. of the window.
  723.  
  724.       Esc .          mark-set           F2
  725.  
  726.       Set the mark position to the current cursor position.   The
  727. mark position is remembered even for nonactive windows and
  728. buffers.
  729.  
  730.       Ctl-X Ctl-X    swap-cursor-and-mark
  731.  
  732.       The position of the cursor and the position of the mark are
  733. swapped.
  734.  
  735.       Esc L          window-link
  736.  
  737.  
  738.  
  739.  
  740.                                12
  741.  
  742.                       BEAV User Manual
  743.  
  744.  
  745.       This command causes all windows that are displaying the
  746. contents of the current buffer to have the same cursor position.
  747. Thus if one window is scrolled then all other windows that
  748. display that buffer are scrolled so as to keep the cursor in the
  749. window.
  750.  
  751.       Ctl-X =        show-position
  752.  
  753.       The current position of the cursor and the mark are
  754. displayed.   The buffer size, file size and file name are also
  755. shown.
  756.  
  757.  
  758.    3.3             Buffer Management
  759.  
  760.       Buffers store all data that is being edited.   The only
  761. limit to the number of buffers is the size of available memory.
  762. If a file is loaded into a buffer and there is insufficient
  763. memory to hold the entire file, then it will be loaded until
  764. memory is exhausted.   The buffer will then be set to read only
  765. mode.
  766.  
  767.       Ctl-X Ctl-B    buffers-display    Ctl-F1
  768.  
  769.       A new window is opened and a list of all buffers in BEAV is
  770. displayed.   The list contains the buffer name, the file name (if
  771. it exists), the buffer size, and a state flag.   If the list is
  772. too large for the window, you can scroll the list.   If you
  773. position the cursor on a line describing a buffer and give the
  774. set-mark (Esc .) command you will be prompted to; Go to, Kill, or
  775. Save that buffer.
  776.  
  777.       Ctl-X B        change-buffer      Ctl-F2
  778.  
  779.       This command prompts you for a buffer name.   If you enter
  780. the name of an existing buffer, that buffer will be displayed in
  781. the current window.   If the name does not match an existing
  782. buffer, a new buffer will be created and displayed.   This buffer
  783. will be empty and will have no file name.
  784.  
  785.       Esc +          change-to-next-buffer    Ctl-F4
  786.       Esc -          change-to-prev-buffer    Ctl-F5
  787.  
  788.       The next or the previous buffer in the buffer list is
  789. displayed in the current window.   This does not effect buffers
  790. that are displayed in other windows.
  791.  
  792.       Esc G          move-to-buffer-split
  793.  
  794.       Prompt for a buffer name.   Then split the current window
  795. and display that buffer, creating it if necessary.
  796.  
  797.       Esc Ctl-N      buffer-set-name    Esc Ctl-N
  798.  
  799.  
  800.  
  801.  
  802.                                13
  803.  
  804.                       BEAV User Manual
  805.  
  806.  
  807.       The current buffer name is changed to the name that you
  808. enter.   This does not effect the file name.
  809.  
  810.       Ctl-X Ctl-F    buffer-set-file-name     Ctl-F7
  811.  
  812.       The file name of the current buffer is changed to the name
  813. that you enter.   This does not affect the buffer name.
  814.  
  815.       Ctl-X K        kill-buffer        Ctl-F3
  816.  
  817.       This command prompts you for a buffer name.   This buffer
  818. is then deleted.   If the buffer is currently being displayed you
  819. are prompted for conformation.   If the buffer has been changed
  820. you are again prompted for conformation.
  821.  
  822.       Ctl-X Ctl-L    buffer-size-lock
  823.  
  824.       The buffer size is prevented from being changed.   Data can
  825. be edited but only by changing the existing data.   If a buffer
  826. is copied into a size-locked buffer the operation well be
  827. successful but will overwrite existing data.   This command
  828. toggles between locked and unlocked.
  829.  
  830.       Esc Y          yank-buffer        Ctl-F6
  831.  
  832.       Data from one buffer is inserted into the current buffer at
  833. the cursor position.   You are prompted for the name of the
  834. buffer to copy from.
  835.  
  836.       Esc O          save-mark-to-cursor
  837.  
  838.       Prompt for a buffer name.   Create a new buffer with that
  839. name and write the data from the mark to the cursor into that
  840. buffer.
  841.  
  842.       Esc Ctl-W      show-save-buf
  843.  
  844.       Displays the contents of the save buffer in a new window.
  845. The save buffer cannot be edited.   This command can be used to
  846. see the data that the yank (Ctl-Y) command will insert into the
  847. current buffer.
  848.  
  849.  
  850.    3.4             File Management
  851.  
  852.       These commands control BEAV's access to files.   Files are
  853. loaded into buffers or are written from buffers.   Commands that
  854. prompt for a file name also accept range parameters.   Range
  855. parameters are always given in the numeric base of the current
  856. window.   Thus if you are displaying data in decimal format then
  857. the range parameters must be entered in decimal.
  858.  
  859.       The size of a file read or write can be limited by
  860. specifying a range.   The range parameter specifies the offset
  861.  
  862.  
  863.  
  864.                                14
  865.  
  866.                       BEAV User Manual
  867.  
  868.  
  869. into the file, not the buffer.   Range parameters can be
  870. specified in these forms;
  871.  
  872.       <file name> <start address>
  873.  
  874.       <file name> <start address> <end address>
  875.  
  876.       <file name> <start address> +<length>
  877.  
  878.       The first form causes the read or write to begin from the
  879. <start address> value until the end of the buffer on write or the
  880. end of the file on read.
  881.  
  882.       The second form reads or writes from <start address> until
  883. <end address> non-inclusive.
  884.  
  885.       The third form reads or writes from <start address> for
  886. <length> bytes.
  887.  
  888.       Thus, if the command 'file-read' is given and you enter at
  889. the prompt;   main.obj 1000 +100.   If the current display mode
  890. is hex, the file "main.obj" will be read from hex byte address
  891. 1000 to 10FF into the buffer.
  892.  
  893.       Ctl-X Ctl-R    file-read          Sh-F2
  894.  
  895.       Prompt for a file name and read that file into the current
  896. buffer.   This overwrites the current contents of the buffer.
  897. The buffer name is not changed but the buffer file name is set to
  898. the new file name.
  899.  
  900.       Ctl-X Ctl-S    file-save          Sh-F3
  901.  
  902.       Write the current buffer out to the file if it has been
  903. changed.   If the buffer has not been changed then do nothing.
  904.  
  905.       Ctl-X V        file-view
  906.  
  907.       Prompt for a file name and read file into a new buffer and
  908. display in current window.   Set to read-only mode.
  909.  
  910.       Ctl-X Ctl-V    file-visit         Sh-F4
  911.  
  912.       Prompt for a file name.   If the buffer already exists then
  913. display it in the current window.   Otherwise, read file into a
  914. new buffer and display in current window.   If there is no such
  915. file then create it.
  916.  
  917.       Esc U          file-visit-split
  918.  
  919.       Same as above but split current window and display new
  920. buffer.   This displays the new buffer as well as the old buffer.
  921.  
  922.       Ctl-X Ctl-W    file-write         Sh-F5
  923.  
  924.  
  925.  
  926.                                15
  927.  
  928.                       BEAV User Manual
  929.  
  930.  
  931.  
  932.       Prompt for a file name, then write the current buffer to
  933. that file.
  934.  
  935.       Ctl-X Tab      insert-file        Sh-F8
  936.  
  937.       Prompt for a file name and insert that file into the
  938. current buffer at the cursor position.
  939.  
  940.       Ctl-X Return   save-all-buffers   Sh-F6
  941.  
  942.       Write all buffers that have been changed to their
  943. respective files.
  944.  
  945.  
  946.    3.5             Window Management
  947.  
  948.       BEAV presents information to the user in one or more
  949. windows.   Each window is a view into a buffer where the data is
  950. actually stored.   The window controls how this data is formatted
  951. for display to the user.   Data can be displayed as HEX bytes,
  952. OCTAL bytes, ASCII characters, plus many others.   The display
  953. format is associated with the window.   Thus if a new buffer is
  954. displayed in the current window that new data will be displayed
  955. in the current windows format.
  956.  
  957.       The only limit to the number of windows is the screen size.
  958. A window can be no smaller than two lines.   This along with the
  959. mode line associated with each window limits to eight the number
  960. of windows on an IBM PC 25 line screen.
  961.  
  962.       Any window can view any buffer including having many
  963. windows on the same buffer.   For example, two windows can
  964. display the same buffer but present the data in two different
  965. modes.   One window could display HEX bytes and the other could
  966. display ASCII characters.
  967.  
  968.       Ctl-P       change-window-back    Ctl-PageUp
  969.       Ctl-N       change-window-forw    Ctl-PageDown
  970.  
  971.       These commands move the cursor to the next or previous
  972. window on the screen, making it the current window.
  973.  
  974.       Ctl-X Z        window-enlarge
  975.       Ctl-X Ctl-Z    window-shrink
  976.  
  977.       Enlarge or shrink the current window size by one line.
  978.  
  979.       Esc !          window-reposition
  980.  
  981.       Move window position so that the cursor is centered in the
  982. window.   The cursor position in the buffer does not change.
  983.  
  984.       Ctl-X 2        window-split
  985.  
  986.  
  987.  
  988.                                16
  989.  
  990.                       BEAV User Manual
  991.  
  992.  
  993.  
  994.       Split the current window into equal parts.   Both haves
  995. have the same display mode and view the save buffer.
  996.  
  997.       Ctl-X 1        window-single
  998.  
  999.       Expand the current window to fill the entire display, all
  1000. other windows are removed.   Make the current window the only
  1001. window displayed.   This has no effect on the underlying buffers
  1002. except that they may not be displayed any more.
  1003.  
  1004.       Ctl-X 0        window-delete
  1005.  
  1006.       Delete the current window and expand the upper window to
  1007. fill the space.   This has no effect on the underlying buffer
  1008. except that it may not be displayed any more.
  1009.  
  1010.       Esc Ctl-A      display-ascii
  1011.       Esc Ctl-E      display-ebcdic
  1012.       Esc Ctl-H      display-hex
  1013.       Esc Ctl-O      display-octal
  1014.       Esc Ctl-D      display-decimal
  1015.       Esc Ctl-B      display-binary
  1016.  
  1017.       These commands set the window display mode.   Text buffers
  1018. can be displayed as ASCII or EBCDIC characters.   Buffers that
  1019. are not human readable can also be displayed in hexadecimal,
  1020. octal, decimal, or binary format.
  1021.  
  1022.       Esc 1          display-bytes
  1023.       Esc 2          display-words
  1024.       Esc 4          display-double-words
  1025.  
  1026.       As a further option on the non-text display modes, data can
  1027. be displayed as 8, 16, or 32 bit values.
  1028.  
  1029.       Ctl-E          display-swap-order
  1030.  
  1031.       When data is displayed as words or double words the order
  1032. of significance can be changed.   In Intel microprocessors the
  1033. least significant byte of a word is stored at the lowest address.
  1034. Thus if the word 5892 (HEX) were stored at memory address 10,
  1035. then 92 (HEX) would be stored at address 10 and 58 (HEX) would be
  1036. stored at address 11.   In Motorola microprocessors the reverse
  1037. is true.
  1038.       This command toggles between the Intel and Motorola schemes
  1039. of assembling bytes into words and double words.   This command
  1040. has no effect on byte display or on the text display modes.   The
  1041. data in the buffer is not changed.
  1042.  
  1043.       Ctl-A          display-byte-shift
  1044.  
  1045.       This command changes the offset from the beginning of the
  1046. buffer used to assemble words and double words.   The default
  1047.  
  1048.  
  1049.  
  1050.                                17
  1051.  
  1052.                       BEAV User Manual
  1053.  
  1054.  
  1055. shift is 0.   For example, a double word at address 10 is made up
  1056. of the bytes at address 10, 11, 12, and 13.   With a shift of 1
  1057. that double word would be made of bytes 11, 12, 13, and 14.
  1058. With a shift of 2 then bytes 12, 13, 14, and 15 would be used.
  1059. The maximum shift in word display mode is one and the maximum
  1060. shift in double word mode is three.
  1061.  
  1062.       The buffer is in effect shifted toward the beginning of the
  1063. buffer with 1, 2, or 3 bytes becoming not visible.   These bytes
  1064. are not lost, they become visible when the shift is set to zero.
  1065. This command cycles through all possible shift values.   There is
  1066. no effect in any byte display mode or any text display mode.
  1067.  
  1068.  
  1069.    3.6             Inserting and deleting
  1070.  
  1071.       These commands are the core of BEAV.   These commands allow
  1072. the buffer to be edited in a similar fashion to a text editor.
  1073. BEAV has an insert mode much the same as text editors but it only
  1074. works when displaying data in one of the text modes, either ASCII
  1075. or EBCDIC.   In other modes it doesn't make any sense to insert
  1076. characters as they are typed when there is more than one
  1077. characters per unit.   In the data modes there is a command that
  1078. inserts a unit of zeros into the buffer.   Similarly the delete
  1079. commands always delete a unit rather than a character.   In a
  1080. text mode the delete commands work as in a text editor because a
  1081. unit is a character.
  1082.  
  1083.       Ctl-X I        insert-unit
  1084.  
  1085.       Insert a zero at the cursor position.   The rest of the
  1086. data moves down one place.   Thus, if double words are being
  1087. displayed, four bytes are inserted before the cursor position.
  1088. These bytes are initialized to zero.   This command works in all
  1089. display modes.
  1090.  
  1091.       Ctl-X Ctl-A    insert-toggle      Insert
  1092.  
  1093.       In either of the two text modes this command toggles
  1094. between insert mode and overwrite mode.    In insert mode each
  1095. character that is typed is inserted in front of the cursor and
  1096. the rest of the buffer is moved down.   In overwrite mode the
  1097. typed characters replace the character that is at the cursor.
  1098. This command has no effect in a non-text display mode.
  1099.  
  1100.       Ctl-Q          insert-literally   Esc Q
  1101.  
  1102.       This command sets a special temporary mode where the next
  1103. typed character is inserted in the buffer no matter what the
  1104. character is.   This allows control codes to be inserted in the
  1105. buffer when in a text display mode.   Alternatively the same byte
  1106. could be inserted into the buffer by using one of the data
  1107. display modes.   It night be faster to use this command on some
  1108. occasions.
  1109.  
  1110.  
  1111.  
  1112.                                18
  1113.  
  1114.                       BEAV User Manual
  1115.  
  1116.  
  1117.  
  1118.       Ctl-T          unit-twiddle
  1119.  
  1120.       The unit at the cursor is swapped with the previous unit.
  1121.  
  1122.       Rubout         delete-back-char   Backspace
  1123.  
  1124.       This command deletes the character before the cursor and
  1125. pulls the rest of the buffer back.   The cursor remains on the
  1126. same character as it moves back.   It only works in the text and
  1127. byte display modes.
  1128.  
  1129.       Ctl-D          delete-forw-char   Delete
  1130.  
  1131.       The character at the cursor is deleted and the buffer is
  1132. pulled back.   The cursor remains at the same position.   It only
  1133. works in the text and byte display modes.
  1134.  
  1135.       Esc Rubout     delete-back-unit   Esc Ctl-K
  1136.  
  1137.       This command deletes the unit before the cursor and pulls
  1138. the rest of the buffer back.   The cursor remains on the same
  1139. unit as it moves back.
  1140.  
  1141.       Esc D          delete-forw-unit
  1142.  
  1143.       The unit at the cursor is deleted and the buffer is pulled
  1144. back.   The cursor remains at the same position.
  1145.  
  1146.       Esc W          copy-mark-to-cursor      F7
  1147.  
  1148.       The area in the buffer from the mark to the current cursor
  1149. position is copied into the kill buffer.   If the mark is not set
  1150. before this command is given an error is reported.
  1151.  
  1152.       Ctl-W          delete-mark-to-cursor    F8
  1153.  
  1154.       The area in the buffer from the mark to the current cursor
  1155. position is deleted and placed into the kill buffer.   If the
  1156. mark is not set before this command is given an error is
  1157. reported.
  1158.  
  1159.       Ctl-Y          yank               F6
  1160.  
  1161.       The contents of the kill buffer is inserted into the buffer
  1162. at the cursor position.   The kill buffer itself is not changed.
  1163.  
  1164.  
  1165.    3.7             Search and Replace Commands
  1166.  
  1167.       BEAV has very powerful search and replace commands.   The
  1168. search and replace string can be entered in any of the display
  1169. modes.   The search and replace strings can each be up to 256
  1170. bytes long.   The display mode can be changed at any time while
  1171.  
  1172.  
  1173.  
  1174.                                19
  1175.  
  1176.                       BEAV User Manual
  1177.  
  1178.  
  1179. entering the string.   Wild cards can be placed down to the bit
  1180. level on both the search and replace strings.   The wild card
  1181. character, '?', will match any value that it is compared with.
  1182.  
  1183.       When a wild card is placed in the replace string it leaves
  1184. the destination data unchanged at that position.   Thus, if the
  1185. destination contains the ASCII string '41 42 43 44' and the
  1186. replace string contains '66 67 ?? 69' the result would be '66 67
  1187. 43 69'.
  1188.  
  1189.       Wild cards can be placed in any position that makes sense.
  1190. If you want to use wild cards in an ASCII string then you must
  1191. switch to another mode to enter them.   You can then switch back
  1192. to ASCII mode.   In this case a '?' will appear in the position
  1193. where the wild card has been placed but it appears exactly the
  1194. same as a standard question mark.   In fact if you type a '?'
  1195. over the wild card there will be no apparent change.   However,
  1196. the character will no longer be a wild card but a standard
  1197. question mark.   To see the true wild cards you must use a data
  1198. display mode.   In fact if the wild card has been set on the bit
  1199. level then you must go to binary display mode to see its actual
  1200. position.
  1201.  
  1202.       The commands to change the display mode in search and
  1203. replace are the same as for the window display mode.   The search
  1204. and replace strings can be scrolled back an forth and the cursor
  1205. moved using the same commands as for the window.   While
  1206. performing a replace command you can switch between the search
  1207. string and replace string by using the 'move-back-page' or 'move-
  1208. forw-page' commands.
  1209.  
  1210.       Esc S          search-forw        F3
  1211.  
  1212.       Prompts for a search string then searches from the current
  1213. cursor position for the first match.   The cursor is positioned
  1214. at the first unit of the match.
  1215.  
  1216.       Esc R          search-back
  1217.  
  1218.       This command is the same as the previous one except that it
  1219. searches backward.
  1220.  
  1221.       Esc T          search-again       F4
  1222.  
  1223.       This command repeats the previous search command, forward
  1224. or backward.   The cursor is first moved one byte in the
  1225. appropriate direction before the search is repeated.
  1226.  
  1227.       Esc %          replace            F5
  1228.  
  1229.       Prompt for search string.   After entering the search
  1230. string hit return and you will be prompted for the replace
  1231. string.   After entering the replace string hit return.   BEAV
  1232. will then search for the first match with the search string.   If
  1233.  
  1234.  
  1235.  
  1236.                                20
  1237.  
  1238.                       BEAV User Manual
  1239.  
  1240.  
  1241. a match is found you will be prompted with '(R)eplace, (S)kip,
  1242. (A)ll, (O)ne, (Q)uit'
  1243.  
  1244.       If you type a 'R' the replace will be done at this location
  1245. and the search will continue.   If you type a 'S' the replace
  1246. will not be done and search will continue.   If you type an 'A'
  1247. the replace will be done and will be done at all future matches
  1248. without pausing for conformation.   If you type an 'O' the
  1249. replace will be done at this location and the search will stop.
  1250. If you type a 'Q' then the search will be terminated.
  1251.  
  1252.       Ctl-R          recall-srch-string
  1253.  
  1254.       If you enter search or replace previously used strings can
  1255. be recalled with this command.
  1256.  
  1257.  
  1258.    3.8             Exiting BEAV
  1259.  
  1260.       While using BEAV individual buffers may be saved to disk
  1261. during the editing session.   When quitting BEAV you must save
  1262. all buffers or delete all buffers.   There are two commands that
  1263. do this.
  1264.  
  1265.       Ctl-C          quit-no-save       Sh-F10
  1266.  
  1267.       If there are any unsaved buffers you will be prompted for
  1268. conformation before proceeding.   All buffers will be deleted
  1269. then you will return to DOS.
  1270.  
  1271.       Ctl-X Ctl-E    quit-save-all      Sh-F9
  1272.  
  1273.       All buffers are saved before exiting to DOS.
  1274.  
  1275.  
  1276.    3.9             Printing
  1277.  
  1278.       The data that is being displayed in BEAV can be printed or
  1279. sent to a file in the same format as displayed.   If the current
  1280. window is displaying octal words and a print command is given the
  1281. format of the print will be in the format of the window; that is,
  1282. octal words.
  1283.  
  1284.       Esc P          print-mark-to-cursor     Ctl-Print
  1285.  
  1286.       To use this command you must set the mark and the cursor to
  1287. define the region that you want printed.   If the mark is not set
  1288. it as assumed to be at the first unit.   After you enter the
  1289. command you will be prompted with 'Print to:'.   You can enter a
  1290. file name or a device name to send the print image to.   If you
  1291. enter 'PRN' most systems will print a hard copy.
  1292.  
  1293.       This is useful for getting a print out of the current key
  1294. bindings.   To do this give the 'help' command 'F1'.   Go to the
  1295.  
  1296.  
  1297.  
  1298.                                21
  1299.  
  1300.                       BEAV User Manual
  1301.  
  1302.  
  1303. bottom of the help window using the 'move-to-end' command 'End',
  1304. the mark will be assumed to be at the beginning of the buffer.
  1305. Issue the 'print-mark-to-cursor' command.   Enter 'PRN' at the
  1306. prompt.   This should print the complete help buffer and will
  1307. reflect any changes that you have made to the key bindings.
  1308.  
  1309.  
  1310.    3.10            Keyboard Macros
  1311.  
  1312.       BEAV has the capability of recording key strokes as they
  1313. are entered and playing them back later.   This is useful for
  1314. repeating multi-keystroke operations.
  1315.  
  1316.       Ctl-X (        macro-start
  1317.  
  1318.       Start recording key strokes.   There is no effect on the
  1319. operation of the key strokes.   Any previous recorded key strokes
  1320. are cleared.
  1321.  
  1322.       Ctl-X )        macro-end
  1323.  
  1324.       Stop recording key strokes.   The key strokes are available
  1325. for play back.
  1326.  
  1327.       Ctl-X E        macro-execute
  1328.  
  1329.       Play back the recorded key strokes.   The key strokes that
  1330. were recorded are played back as if they were typed at the
  1331. keyboard.
  1332.  
  1333.  
  1334.    3.11            Key Binding
  1335.  
  1336.       BEAV provides a user configurable interface.   The
  1337. interface is controlled by a set of key bindings.   This relates
  1338. the command that will be executed when a particular key stroke is
  1339. entered.   There are a set of default key bindings as described
  1340. in this manual.   These can be changed to reflect your
  1341. preferences.   When a change is made it is reflected in the help
  1342. screen.
  1343.  
  1344.       Ctl-X ?        binding-for-key    Sh-F1
  1345.  
  1346.       This command will tell you what function a certain key
  1347. sequence is bound to.   When this command is given you will be
  1348. prompted for a key stroke or key stroke sequence.   BEAV will
  1349. report back with the function name.
  1350.  
  1351.       Esc K          bind-to-key
  1352.  
  1353.       First you will prompted for a function name.   Enter the
  1354. name of the function that you wish to create a new binding for.
  1355. Function names are the names listed in this manual that are of
  1356. the form of 'move-forw-unit' or 'display-hex'.   After you enter
  1357.  
  1358.  
  1359.  
  1360.                                22
  1361.  
  1362.                       BEAV User Manual
  1363.  
  1364.  
  1365. the name hit return.   You will be prompted for a key.   This can
  1366. be in the form of a single standard key such as 'Z'.   Standard
  1367. key sequences can be entered such as 'Ctl-X Z'
  1368. or 'Esc Z'.   Special keys can be entered such as 'F1' (function
  1369. key 1) or 'Page Down'.   It is probably a good idea to not use
  1370. keys that are needed for editing.   If you bound 'Z' to a
  1371. function then you would not be able to enter it as a keystroke
  1372. when using ASCII display mode.   You could still enter it using
  1373. the 'insert-literally' command or doing it in one of the data
  1374. display modes but this would be more cumbersome.
  1375.  
  1376.       Ctl-X L        bindings-load
  1377.  
  1378.       You are prompted for a file name that contains the key
  1379. binding that you wish to set.   This file is read in and the
  1380. appropriate bindings are set.   The text in the binding file
  1381. should be of the form;
  1382.  
  1383. <key name>           <function name>    <key code>
  1384.  
  1385.       For example;
  1386.  
  1387. Ctl-X Ctl-P          move-back-char     0550
  1388. F1                   move-forw-char     04bb
  1389. Ctl-A                move-forw-unit     0141
  1390. Esc Ctl-T            move-back-unit     0354
  1391.  
  1392.       The easiest way of producing a valid key binding file is to
  1393. set the desired bindings in BEAV.   Next issue the 'help' command
  1394. (ESC ?), then write the buffer out with the file-write command
  1395. (Ctl-X Ctl-W).   The file created will be a valid format for
  1396. loading and can be edited as desired.   It is the only reliable
  1397. way to get the <key code> number.
  1398.  
  1399.  
  1400.    3.12            Special Functions
  1401.  
  1402.       These are the commands that do not logically fit under one
  1403. of the previous headings
  1404.  
  1405.       Gtl-G          abort-cmd          F10
  1406.  
  1407.       This command aborts the current command.   It can even
  1408. abort a partially entered command.   Thus, if you have typed an
  1409. 'Esc' as that start of a command you can type Ctl-G to return to
  1410. the normal command entry mode.
  1411.  
  1412.       Esc A          auto-save
  1413.  
  1414.       BEAV can be set to automatically save the current buffer
  1415. after a specified number of buffer editing commands are given.
  1416. This command first prompts for the number of operations before
  1417. the save is made.   If a zero is entered at the prompt, this
  1418.  
  1419.  
  1420.  
  1421.  
  1422.                                23
  1423.  
  1424.                       BEAV User Manual
  1425.  
  1426.  
  1427. feature is disabled.   The default condition of this command is
  1428. disabled.
  1429.  
  1430.       Esc C          compare
  1431.  
  1432.       This is a powerful feature of BEAV.   The contents of two
  1433. windows are compared byte for byte from the current cursor
  1434. position in each window.   There must be exactly two windows to
  1435. use this command.   These windows can be displaying the same or
  1436. different buffers.   When a difference is found the cursor in
  1437. each window is moved to that position and both windows are moved
  1438. accordingly.   The display mode does not affect the operation of
  1439. this command except in restricting the cursor position to whole
  1440. units.
  1441.  
  1442.       Esc X          extended-command
  1443.  
  1444.       If any command looses its binding, this command allows the
  1445. unbound command to be used.   A command can loose its binding
  1446. because the binding was assigned to another command.   When this
  1447. command is given you will be prompted for a command name.   Enter
  1448. the command name that you wish to execute, it will be executed as
  1449. if you had typed its key binding.
  1450.  
  1451.       Esc Ctl-F      n-way-combine
  1452.  
  1453.       The contents of other windows can be copied sequentially
  1454. into the current window.   This is useful in combining odd-even
  1455. proms into an executable image file.   To use this command create
  1456. an empty window with a buffer file name of an empty or
  1457. nonexistent file.   Read into additional windows the files that
  1458. you want to combine.   While in the empty target window, issue
  1459. the n-way-combine command.   The data in the other windows will
  1460. be read into the current window.   The next window lower on the
  1461. screen will be read first, then the one below that, etc.
  1462.  
  1463.       For example; if you had two files, promlow.bin and
  1464. promhi.bin that you wanted to combine into a file called
  1465. prom.bin.   First issue the file-visit command (Ctl-X Ctl-V),
  1466. enter prom.bin at the prompt.   This file should be empty of non-
  1467. existent.   Next read promlow.bin into a new window with the
  1468. file-visit-split command (Esc U), enter promlow.bin at the
  1469. prompt.   Open another window for promhi.bin with the same
  1470. command.   Go to the window containing prom.bin (empty).   Issue
  1471. the n-way-combine command.   BEAV will copy the first byte from
  1472. the window immediately below the prom.bin window and deposit it
  1473. in the destination window buffer as well as advance the dot
  1474. position in both windows.   It will advance to the next lower
  1475. window and copy a byte from there into the destination window and
  1476. advance the dot in both windows.   This process will continue
  1477. until one of the source buffers is exhausted, or the user
  1478. terminates the command.
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.                                24
  1485.  
  1486.                       BEAV User Manual
  1487.  
  1488.  
  1489.       The user must take care that the source buffers are in the
  1490. correct order.   They are read starting at the window immediately
  1491. below the current window.   If the target window is at the bottom
  1492. of the screen then it wraps to the top.   In this way any order
  1493. can be used and changed at will.
  1494.  
  1495.       Esc Ctl-S      n-way-split
  1496.  
  1497.       This command is the mirror image of the n-way-combine.
  1498. The data in the current window is distributed among the rest of
  1499. the window buffers displayed.   The current window buffer must be
  1500. the only window buffer that contains data.   If there are two
  1501. other empty window buffers then the data will be divided two
  1502. ways.   If there are five then the data will be divided five ways
  1503.  
  1504.       Ctl-L          refresh-screen
  1505.  
  1506.       The screen is reprinted from BEAV's internal buffer.   This
  1507. is useful if the display is messed up due to transmission errors.
  1508. On a PC this is unlikely to happen.
  1509.  
  1510.       Esc Ctl-V      show-version
  1511.  
  1512.       The version and date of BEAV is displayed in the command
  1513. line.
  1514.  
  1515.       Ctl-X C        spawn-shell
  1516.  
  1517.       A new MSDOS command shell is created.   You can return to
  1518. BEAV by typing 'exit'.
  1519.  
  1520.       Ctl-U          repeat count
  1521.  
  1522.       This command prompts for a number to be entered.   This
  1523. causes the next command given to be repeated by that number of
  1524. times.   This command cannot have it's binding changed and cannot
  1525. be issued using the 'extended-command' function.
  1526.  
  1527.  
  1528.  
  1529.  
  1530.  
  1531.  
  1532.  
  1533.  
  1534.  
  1535.  
  1536.  
  1537.  
  1538.  
  1539.  
  1540.  
  1541.  
  1542.  
  1543.  
  1544.  
  1545.  
  1546.                                25
  1547.  
  1548.                       BEAV User Manual
  1549.  
  1550.  
  1551.  4.                          Alphabetical list of commands by
  1552. name
  1553.  
  1554. Command                        Key Binding       Manual Section
  1555. -------                        -----------       --------------
  1556. abort-cmd                      Ctl-G             3.12
  1557. abort-cmd                      Ctl-X Ctl-G       3.12
  1558. abort-cmd                      Esc Ctl-G         3.12
  1559. abort-cmd                      F10               3.12
  1560. auto-save                      Esc A             3.12
  1561. bind-to-key                    Esc K             3.11
  1562. binding-for-key                Ctl-X ?           3.11
  1563. binding-for-key                Sh-F1             3.11
  1564. bindings-load                  Ctl-X L           3.11
  1565. buffer-set-file-name           Ctl-F7            3.3
  1566. buffer-set-file-name           Ctl-X Ctl-F       3.3
  1567. buffer-set-file-name           Sh-F7             3.3
  1568. buffer-set-name                Esc Ctl-N         3.3
  1569. buffer-size-lock               Ctl-X Ctl-L       3.3
  1570. buffers-display                Ctl-F1            3.3
  1571. buffers-display                Ctl-X Ctl-B       3.3
  1572. change-buffer                  Ctl-F2            3.3
  1573. change-buffer                  Ctl-X B           3.3
  1574. change-to-next-buffer          Ctl-F4            3.3
  1575. change-to-next-buffer          Esc +             3.3
  1576. change-to-prev-buffer          Ctl-F5            3.3
  1577. change-to-prev-buffer          Esc -             3.3
  1578. change-window-back             Ctl-PageUp        3.5
  1579. change-window-back             Ctl-X P           3.5
  1580. change-window-forw             Ctl-PageDown      3.5
  1581. change-window-forw             Ctl-X N           3.5
  1582. compare                        Esc C             3.12
  1583. copy-mark-to-cursor            Esc W             3.6
  1584. copy-mark-to-cursor            F7                3.6
  1585. delete-back-char               Backspace         3.6
  1586. delete-back-char               Rubout            3.6
  1587. delete-back-unit               Esc Ctl-K         3.6
  1588. delete-back-unit               Esc Rubout        3.6
  1589. delete-forw-char               Ctl-D             3.6
  1590. delete-forw-char               Delete            3.6
  1591. delete-forw-unit               Esc D             3.6
  1592. delete-mark-to-cursor          Ctl-W             3.6
  1593. delete-mark-to-cursor          F8                3.6
  1594. display-ascii                  Esc Ctl-A         3.5
  1595. display-binary                 Esc Ctl-B         3.5
  1596. display-byte-shift             Ctl-A             3.5
  1597. display-bytes                  Esc 1             3.5
  1598. display-decimal                Esc Ctl-D         3.5
  1599. display-double-words           Esc 4             3.5
  1600. display-ebcdic                 Esc Ctl-E         3.5
  1601. display-hex                    Esc Backspace     3.5
  1602. display-octal                  Esc Ctl-O         3.5
  1603. display-swap-order             Ctl-E             3.5
  1604. display-words                  Esc 2             3.5
  1605.  
  1606.  
  1607.  
  1608.                                26
  1609.  
  1610.                       BEAV User Manual
  1611.  
  1612.  
  1613. extended-command               Esc X             3.12
  1614. file-read                      Ctl-X Ctl-R       3.4
  1615. file-read                      Sh-F2             3.4
  1616. file-save                      Ctl-X Ctl-S       3.4
  1617. file-save                      Sh-F3             3.4
  1618. file-view                      Ctl-X V           3.4
  1619. file-visit                     Ctl-X Ctl-V       3.4
  1620. file-visit                     Sh-F4             3.4
  1621. file-visit-split               Esc U             3.4
  1622. file-write                     Ctl-X Ctl-W       3.4
  1623. file-write                     Sh-F5             3.4
  1624. help                           Esc ?             3.1
  1625. help                           F1                3.1
  1626. insert-file                    Ctl-F8            3.4
  1627. insert-file                    Ctl-X Tab         3.4
  1628. insert-file                    Sh-F8             3.4
  1629. insert-literally               Ctl-Q             3.6
  1630. insert-literally               Esc Q             3.6
  1631. insert-toggle                  Ctl-X Ctl-A       3.6
  1632. insert-toggle                  Insert            3.6
  1633. insert-unit                    Ctl-X I           3.6
  1634. kill-buffer                    Ctl-F3            3.3
  1635. kill-buffer                    Ctl-X K           3.3
  1636. macro-end                      Ctl-X )           3.10
  1637. macro-execute                  Ctl-X E           3.10
  1638. macro-start                    Ctl-X (           3.10
  1639. mark-set                       Esc .             3.2
  1640. mark-set                       F2                3.2
  1641. move-back-char                 Ctl-B             3.2
  1642. move-back-char                 West              3.2
  1643. move-back-line                 Ctl-P             3.2
  1644. move-back-line                 North             3.2
  1645. move-back-page                 Esc V             3.2
  1646. move-back-page                 PageDown          3.2
  1647. move-back-unit                 Ctl-West          3.2
  1648. move-back-unit                 Esc B             3.2
  1649. move-forw-char                 Ctl-F             3.2
  1650. move-forw-char                 East              3.2
  1651. move-forw-line                 Ctl-N             3.2
  1652. move-forw-line                 South             3.2
  1653. move-forw-page                 Ctl-V             3.2
  1654. move-forw-page                 PageUp            3.2
  1655. move-forw-unit                 Ctl-East          3.2
  1656. move-forw-unit                 Esc F             3.2
  1657. move-forw-unit                 Sh-Tab            3.2
  1658. move-to-beginning              Esc <             3.2
  1659. move-to-beginning              Home              3.2
  1660. move-to-buffer-split           Esc G             3.2
  1661. move-to-byte                   Ctl-X G           3.2
  1662. move-to-byte                   F9                3.2
  1663. move-to-end                    End               3.2
  1664. move-to-end                    Esc >             3.2
  1665. move-window-down               Ctl-X Ctl-N       3.2
  1666. move-window-down               Ctl-Z             3.2
  1667.  
  1668.  
  1669.  
  1670.                                27
  1671.  
  1672.                       BEAV User Manual
  1673.  
  1674.  
  1675. move-window-up                 Ctl-X Ctl-P       3.2
  1676. move-window-up                 Esc Z             3.2
  1677. n-way-combine                  Esc Ctl-F         3.12
  1678. n-way-split                    Esc Ctl-S         3.12
  1679. print-mark-to-cursor           Ctl-Print         3.9
  1680. print-mark-to-cursor           Esc P             3.9
  1681. quit-no-save                   Ctl-C             3.8
  1682. quit-no-save                   Ctl-F10           3.8
  1683. quit-no-save                   Ctl-X Ctl-C       3.8
  1684. quit-no-save                   Sh-F10            3.8
  1685. quit-save-all                  Ctl-F9            3.8
  1686. quit-save-all                  Ctl-X Ctl-E       3.8
  1687. quit-save-all                  Sh-F9             3.8
  1688. recall-srch-string             Ctl-R             3.7
  1689. refresh-screen                 Ctl-L             3.12
  1690. replace                        Esc %             3.7
  1691. replace                        F5                3.7
  1692. save-all-buffers               Ctl-X Return      3.4
  1693. save-all-buffers               Sh-F6             3.4
  1694. save-mark-to-cursor            Esc O             3.3
  1695. search-again                   Esc T             3.7
  1696. search-again                   F4                3.7
  1697. search-back                    Esc R             3.7
  1698. search-forw                    Esc S             3.7
  1699. search-forw                    F3                3.7
  1700. show-position                  Ctl-X =           3.2
  1701. show-save-buf                  Esc Ctl-W         3.3
  1702. show-version                   Esc Ctl-V         3.12
  1703. spawn-shell                    Ctl-X C           3.12
  1704. swap-cursor-and-mark           Ctl-X Ctl-X       3.2
  1705. unit-twiddle                   Ctl-T             3.6
  1706. window-delete                  Ctl-X 0           3.5
  1707. window-enlarge                 Ctl-X Z           3.5
  1708. window-link                    Esc L             3.2
  1709. window-reposition              Esc !             3.5
  1710. window-shrink                  Ctl-X Ctl-Z       3.5
  1711. window-single                  Ctl-X 1           3.5
  1712. window-split                   Ctl-X 2           3.5
  1713. yank                           Ctl-Y             3.6
  1714. yank                           F6                3.6
  1715. yank-buffer                    Ctl-F6            3.3
  1716. yank-buffer                    Esc Y             3.3
  1717.  
  1718.  
  1719.  
  1720.  
  1721.  
  1722.  
  1723.  
  1724.  
  1725.  
  1726.  
  1727.  
  1728.  
  1729.  
  1730.  
  1731.  
  1732.                                28
  1733.  
  1734.                       BEAV User Manual
  1735.  
  1736.  
  1737.  5. Alphabetical list of commands by key binding
  1738.  
  1739. Command                        Key Binding       Manual Section
  1740. -------                        -----------       --------------
  1741. delete-back-char               Backspace         3.6
  1742. display-byte-shift             Ctl-A             3.5
  1743. move-back-char                 Ctl-B             3.2
  1744. quit-no-save                   Ctl-C             3.8
  1745. delete-forw-char               Ctl-D             3.6
  1746. display-swap-order             Ctl-E             3.5
  1747. move-forw-unit                 Ctl-East          3.2
  1748. move-forw-char                 Ctl-F             3.2
  1749. buffers-display                Ctl-F1            3.3
  1750. quit-no-save                   Ctl-F10           3.8
  1751. change-buffer                  Ctl-F2            3.3
  1752. kill-buffer                    Ctl-F3            3.3
  1753. change-to-next-buffer          Ctl-F4            3.3
  1754. change-to-prev-buffer          Ctl-F5            3.3
  1755. yank-buffer                    Ctl-F6            3.3
  1756. buffer-set-file-name           Ctl-F7            3.3
  1757. insert-file                    Ctl-F8            3.4
  1758. quit-save-all                  Ctl-F9            3.8
  1759. abort-cmd                      Ctl-G             3.12
  1760. refresh-screen                 Ctl-L             3.12
  1761. move-forw-line                 Ctl-N             3.2
  1762. move-back-line                 Ctl-P             3.2
  1763. change-window-forw             Ctl-PageDown      3.5
  1764. change-window-back             Ctl-PageUp        3.5
  1765. print-mark-to-cursor           Ctl-Print         3.9
  1766. insert-literally               Ctl-Q             3.6
  1767. recall-srch-string             Ctl-R             3.7
  1768. unit-twiddle                   Ctl-T             3.6
  1769. move-forw-page                 Ctl-V             3.2
  1770. delete-mark-to-cursor          Ctl-W             3.6
  1771. move-back-unit                 Ctl-West          3.2
  1772. macro-start                    Ctl-X (           3.10
  1773. macro-end                      Ctl-X )           3.10
  1774. window-delete                  Ctl-X 0           3.5
  1775. window-single                  Ctl-X 1           3.5
  1776. window-split                   Ctl-X 2           3.5
  1777. show-position                  Ctl-X =           3.2
  1778. binding-for-key                Ctl-X ?           3.11
  1779. change-buffer                  Ctl-X B           3.3
  1780. spawn-shell                    Ctl-X C           3.12
  1781. insert-toggle                  Ctl-X Ctl-A       3.6
  1782. buffers-display                Ctl-X Ctl-B       3.3
  1783. quit-no-save                   Ctl-X Ctl-C       3.8
  1784. quit-save-all                  Ctl-X Ctl-E       3.8
  1785. buffer-set-file-name           Ctl-X Ctl-F       3.3
  1786. abort-cmd                      Ctl-X Ctl-G       3.12
  1787. buffer-size-lock               Ctl-X Ctl-L       3.3
  1788. move-window-down               Ctl-X Ctl-N       3.2
  1789. move-window-up                 Ctl-X Ctl-P       3.2
  1790. file-read                      Ctl-X Ctl-R       3.4
  1791.  
  1792.  
  1793.  
  1794.                                29
  1795.  
  1796.                       BEAV User Manual
  1797.  
  1798.  
  1799. file-save                      Ctl-X Ctl-S       3.4
  1800. file-visit                     Ctl-X Ctl-V       3.4
  1801. file-write                     Ctl-X Ctl-W       3.4
  1802. swap-cursor-and-mark           Ctl-X Ctl_X       3.2
  1803. window-shrink                  Ctl-X Ctl-Z       3.5
  1804. macro-execute                  Ctl-X E           3.10
  1805. move-to-byte                   Ctl-X G           3.2
  1806. insert-unit                    Ctl-X I           3.6
  1807. kill-buffer                    Ctl-X K           3.3
  1808. bindings-load                  Ctl-X L           3.11
  1809. change-window-forw             Ctl-X N           3.5
  1810. change-window-back             Ctl-X P           3.5
  1811. save-all-buffers               Ctl-X Return      3.4
  1812. insert-file                    Ctl-X Tab         3.4
  1813. file-view                      Ctl-X V           3.4
  1814. window-enlarge                 Ctl-X Z           3.5
  1815. yank                           Ctl-Y             3.6
  1816. move-window-down               Ctl-Z             3.2
  1817. delete-forw-char               Delete            3.6
  1818. move-forw-char                 East              3.2
  1819. move-to-end                    End               3.2
  1820. window-reposition              Esc !             3.5
  1821. replace                        Esc %             3.7
  1822. change-to-next-buffer          Esc +             3.3
  1823. change-to-prev-buffer          Esc -             3.3
  1824. mark-set                       Esc .             3.2
  1825. display-bytes                  Esc 1             3.5
  1826. display-words                  Esc 2             3.5
  1827. display-double-words           Esc 4             3.5
  1828. move-to-beginning              Esc <             3.2
  1829. move-to-end                    Esc >             3.2
  1830. help                           Esc ?             3.1
  1831. auto-save                      Esc A             3.12
  1832. move-back-unit                 Esc B             3.2
  1833. display-hex                    Esc Backspace     3.5
  1834. Compare                        Esc C             3.12
  1835. display-ascii                  Esc Ctl-A         3.5
  1836. display-binary                 Esc Ctl-B         3.5
  1837. display-decimal                Esc Ctl-D         3.5
  1838. display-ebcdic                 Esc Ctl-E         3.5
  1839. n-way-combine                  Esc Ctl-F         3.12
  1840. abort-cmd                      Esc Ctl-G         3.12
  1841. delete-back-unit               Esc Ctl-K         3.6
  1842. buffer-set-name                Esc Ctl-N         3.3
  1843. display-octal                  Esc Ctl-O         3.5
  1844. n-way-split                    Esc Ctl-S         3.12
  1845. show-version                   Esc Ctl-V         3.12
  1846. show-save-buf                  Esc Ctl-W         3.3
  1847. delete-forw-unit               Esc D             3.6
  1848. move-forw-unit                 Esc F             3.2
  1849. move-to-buffer-split           Esc G             3.2
  1850. bind-to-key                    Esc K             3.11
  1851. window-link                    Esc L             3.2
  1852. save-mark-to-cursor            Esc O             3.3
  1853.  
  1854.  
  1855.  
  1856.                                30
  1857.  
  1858.                       BEAV User Manual
  1859.  
  1860.  
  1861. print-mark-to-cursor           Esc P             3.9
  1862. insert-literally               Esc Q             3.6
  1863. search-back                    Esc R             3.7
  1864. delete-back-unit               Esc Rubout        3.6
  1865. search-forw                    Esc S             3.7
  1866. search-again                   Esc T             3.7
  1867. file-visit-split               Esc U             3.4
  1868. move-back-page                 Esc V             3.2
  1869. copy-mark-to-cursor            Esc W             3.6
  1870. extended-command               Esc X             3.12
  1871. yank-buffer                    Esc Y             3.3
  1872. move-window-up                 Esc Z             3.2
  1873. help                           F1                3.1
  1874. abort-cmd                      F10               3.12
  1875. mark-set                       F2                3.2
  1876. search-forw                    F3                3.7
  1877. search-again                   F4                3.7
  1878. replace                        F5                3.7
  1879. yank                           F6                3.6
  1880. copy-mark-to-cursor            F7                3.6
  1881. delete-mark-to-cursor          F8                3.6
  1882. move-to-byte                   F9                3.2
  1883. move-to-beginning              Home              3.2
  1884. insert-toggle                  Insert            3.6
  1885. move-back-line                 North             3.2
  1886. move-back-page                 PageDown          3.2
  1887. move-forw-page                 PageUp            3.2
  1888. delete-back-char               Rubout            3.6
  1889. binding-for-key                Sh-F1             3.11
  1890. quit-no-save                   Sh-F10            3.8
  1891. file-read                      Sh-F2             3.4
  1892. file-save                      Sh-F3             3.4
  1893. file-visit                     Sh-F4             3.4
  1894. file-write                     Sh-F5             3.4
  1895. save-all-buffers               Sh-F6             3.4
  1896. buffer-set-file-name           Sh-F7             3.3
  1897. insert-file                    Sh-F8             3.4
  1898. quit-save-all                  Sh-F9             3.8
  1899. move-forw-unit                 Sh-Tab            3.2
  1900. move-forw-line                 South             3.2
  1901. move-back-char                 West              3.2
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.                                31
  1919.  
  1920.                       BEAV User Manual
  1921.  
  1922.  
  1923.  6. Release notes
  1924.  
  1925.  
  1926.       Version 1.20 (3/10/91) of BEAV contains the following fixes
  1927. and enhancements;
  1928.  
  1929. *           Under unix files are created with read/write
  1930.       permissions.
  1931.  
  1932. *           Fixed the bug in the terminal I/O routine that caused
  1933.       BEAV to spin rather than give up control when waiting for a
  1934.       character.
  1935.  
  1936. *           Added the ANSI #define that was missing for MSDOS.
  1937.  
  1938. *           Changed the D16 #define to a unsigned short.
  1939.  
  1940. *           Called ttclose on error exit.
  1941.  
  1942. *           Check and limit ncol and nrow to the actual screen
  1943.       array size.
  1944.  
  1945. *           Add the ability to load key bindings from a file
  1946.       automatically under MSDOS and unix.
  1947.  
  1948. *           Add delete current window command.
  1949.  
  1950. *           Support VT100 type function keys.
  1951.  
  1952.  
  1953.       Version 1.30 (7/1/91) of BEAV contains the following fixes
  1954. and enhancements;
  1955.  
  1956. *           Under MSDOS and 16 bit UNIX systems the kill or copy
  1957.       region could not be over 64K bytes.   This limit has been
  1958.       eliminated.
  1959.  
  1960. *           The save buffer can be made visible with the Esc Ctl-
  1961.       W command.   The save buffer is not editable.
  1962.  
  1963. *           All memory allocation errors now pause and ask for
  1964.       conformation before continuing.   In previous releases only
  1965.       an error message was printed.   Since an allocation error
  1966.       generally means data loss, I have forced the user to
  1967.       respond.   Memory allocation errors are not otherwise fatal
  1968.       to BEAV, they are probably fatal to the user's data.   The
  1969.       decision is left to the user with the appropriate warning.
  1970.  
  1971. *           Two commands have been added to aid in working with
  1972.       PROM files; n-way-split (Esc Ctl-S) and n-way-combine (Esc
  1973.       Ctl-F).
  1974.  
  1975. *           The speed of the delete-mark-to-cursor (Ctl-W)
  1976.       command has been greatly improved.
  1977.  
  1978.  
  1979.  
  1980.                                32
  1981.  
  1982.                       BEAV User Manual
  1983.  
  1984.  
  1985.  
  1986. *           All commands that can potentially take a lot of time
  1987.       can be stopped by pressing Ctl-G.
  1988.  
  1989.  
  1990.       Version 1.31 (11/2/91) of BEAV contains the following
  1991. fixes;
  1992.  
  1993. *           A serious bug that causes a crash on systems that
  1994.       trapped the use of dereferenced pointers has been fixed.
  1995.  
  1996. *           Beav now names the backup file properly under unix.
  1997.       Previously; if a dot file (.<filename>) was edited, the
  1998.       backup file was given a garbage name.   Now, a backup file
  1999.       simply has ".bak" appended to the file name.
  2000.  
  2001. *           You can use the buffers-display (Ctl-X, Ctl-B)
  2002.       command to; go to, kill, or save a buffer.
  2003.  
  2004. *           A compile flag for DEC ULTRA was created and a
  2005.       makeable is included in this release (makefile.utx).
  2006.  
  2007. *           When a large region was deleted the offset value was
  2008.       displayed wrong, this is now fixed.
  2009.  
  2010. *           A bug in the parse_f_name that trashed a variable is
  2011.       now fixed.
  2012.  
  2013. *           Regions of never used code have been deleted.
  2014.  
  2015. *           Under UNIX the file permissions are maintained
  2016.       correctly when the file is saved.
  2017.  
  2018. *           A number of un-niceities that lint reported have been
  2019.       fixed.
  2020.  
  2021.  
  2022.       Version 1.32 (11/8/91) of BEAV contains the following
  2023. enhancements;
  2024.  
  2025. *           BEAV will now compile and run on the Amiga computer.
  2026.  
  2027.  
  2028.  
  2029.  
  2030.  
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.                                33
  2043.  
  2044.                       BEAV User Manual
  2045.  
  2046.  
  2047.  7. Source Availability
  2048.  
  2049.       The source and MSDOS executable BEAV has been posted on
  2050. news to comp.sources.misc.
  2051.  
  2052.       The MSDOS executable has been posted to the
  2053. comp.binaries.ibm.pc news group.   This is archived at SIMTEL20
  2054. in PD1:<MSDOS.FILUTL>BEAV132.ZIP.
  2055.  
  2056.       If anyone does not have access to usenet, I will mail a
  2057. copy of the source on floppy for $20.00 copying charge.   The
  2058. floppies can be in MSDOS file format or UNIX tar format.   I can
  2059. also supply either QIC-24, QIC-120, QIC-150, or 9 track reel to
  2060. reel tape.   The price for the tape will include the cost of the
  2061. media.
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074.  
  2075.  
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083.  
  2084.  
  2085.  
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.  
  2093.  
  2094.  
  2095.  
  2096.  
  2097.  
  2098.  
  2099.  
  2100.  
  2101.  
  2102.  
  2103.  
  2104.                                34
  2105.